// index.js
import Notify from '../../miniprogram_npm/@vant/weapp/notify/notify';
import Toast from '../../miniprogram_npm/@vant/weapp/toast/toast';

// 获取应用实例
const app = getApp()
Page({
  data: {
    motto: '欢迎使用儿童学习小程序',
    show: false, //控制年级选择弹窗
    avatarUrl: null,
    nickName: "游客",
    gradeCol: ['请选择年级', '一年级', '二年级', '三年级', '四年级', '五年级', '六年级'],
    number: 25,  //题目数量
    minutes: 15,  //考试时间(min)
    numSel: false, //是否显示题目数目选择滑块
    minSel: false, //是否插入时间选择滑块
    preparing: false, //准备数据中
  },
  // 年级选择
  onClickGrade() {
    this.setData({
      show: true
    })
    Notify({ type: 'success', message: '不同年级对应不同难度' });
  },
  onChangeGrade(event) {
    app.globalData.grade = event.detail.index
    this.setData({
      grade: app.globalData.grade
    })
    Toast.success(event.detail.value);
    this.setData({
      show: false
    })
  },
  onCancel() {
    this.setData({
      show: false
    })
  },
  //页面加载
  onLoad() {
    let userInfo = app.globalData.userInfo;
    this.setData({
      grade: app.globalData.grade,
      avatarUrl: userInfo.avatarUrl,
      nickName: userInfo.nickName,
      numSel: false,
      minSel: false,
      preparing: false
    })
    var pageObj = this
    //获取每日一句
    wx.request({
      url: 'https://v1.hitokoto.cn',
      data: '?c=i&encode=json',
      header: { 'content-type': 'application/json' },
      method: 'GET',
      dataType: 'json',
      fail: function (res) {
        console.log(res)
        pageObj.setData({
          motto: '一鼓作气，再而衰，三而竭！'
        })
      },
      success: function (res) {
        if (res.statusCode == 200) {
          pageObj.setData({
            motto: res.data.hitokoto
          })
        } else {
          pageObj.setData({
            motto: '一鼓作气，再而衰，三而竭！'
          })
        }
      }
    })
  },
  /**
   * 页面隐藏
   */
  onHide() {
    this.setData({
      preparing: false,
      numSel: false,
      minSel: false,
    })
  },
  
  //打开练习题
  onExercise() {
    if (app.globalData.grade == 0) {
      Toast.fail('尚未选择年级');
    } else {
      this.setData({
        numSel: true
      })  //显示数目选择
      Notify({
        message: '选择题目数目',
        duration: 1500
      })
    }
  },
  //打开考试题
  onTest() {
    if (app.globalData.grade == 0) {
      Toast.fail('尚未选择年级');
    } else {
      this.setData({
        numSel: true,
        minSel: true
      })  //显示数目选择
      Notify({
        message: '考试时间、题数配置',
        duration: 1500,
        background: '#502f16',
        color: '#FFFFFF'
      })
    }
  },
  /**
   * 用户点击准备好了按钮
   */
  onReadyGo() {
    this.setData({
      preparing: true
    })
    let params = '';
    params += 'num=' + this.data.number;
    if (this.data.minSel) { //考试
      params += '&minutes=' + this.data.minutes
      wx.navigateTo({
        url: '../test/test?' + params,
      })
    } else {  //习题
      wx.navigateTo({
        url: '../exercise/exercise?' + params,
      })
    }
  },

  //关闭NumSelector
  onCloseNumSel() {
    this.setData({
      preparing: false,
      numSel: false,
      minSel: false
    })
  },

  //拖拽滑块改变number
  onChangeNumSel(event) {
    this.setData({
      number: event.detail.value
    })
  },
  //拖拽滑块改变minutes
  onChangeMinSel(event) {
    this.setData({
      minutes: event.detail.value
    })
  },

  /**
   * 用户点击错题功能
   */
  onReview() {
    wx.navigateTo({
      url: '../review/review',
    })
  }
})
